package 剑指offer;

import java.lang.reflect.Array;
import java.util.ArrayList;

/**
 * Created by lenovo】 on 2017/4/4.
 * 在一个字符串(1<=字符串长度<=10000，全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置。
 * 如果字符串为空,返回-1
 */
public class FirstNotRepeatingChar {
    public int FirstNotRepeatingChar(String str) {
        if (str.equals("")) {
            return -1;
        }
        ArrayList<Integer> looping = new ArrayList<>();
        char [] strChar = str.toCharArray();
        int lenOfStrChar = strChar.length;
        boolean flag = false;
        boolean repeat = false;
        for (int i = 0; i < lenOfStrChar; i++) {
            repeat = false;
            if (flag)
                break;
            if ( looping.contains(i))
                continue;
            for (int j = i + 1; j < lenOfStrChar; j++) {
                if (strChar[i] == strChar[j]) {
                    looping.add(j);
                    repeat = true;
                }
                if (j == lenOfStrChar - 1 && repeat == false) {
                    flag = true;
                    return i;
                }
            }
        }
        return 0;
    }
}
